package ar.com.sudoku.factories;

import ar.com.sudoku.model.Sudoku;

public abstract class SudokuBuilder {

	protected Sudoku sudoku;
	
	protected abstract void setGrid();
	protected abstract void setStrategy();
	protected abstract void fillSudoku(short cells);
	
	public Sudoku getSudoku() {
		return sudoku;
	}
	
	public final void createSudoku(short cells) {
		setStrategy();
		setGrid();
		fillSudoku(cells);
	}

}
